Atmega project 2010-05Atmega / 328p dil - 202 - 16 kanaals i2c schakelaar met lan
Lichtschakelaars op de muur zijn zo hopeloos onhandig, dat ik heb besloten hier een moderne optie aan toe te voegen. Omdat ik al vaker met rugproblemen op bed heb gelegen, leek het me handig als ik de verlichting via de pc kon bedienen. Na het nodige onderzoek bleken die schakelaars wel te bestaan, maar onbetaalbaar voor een laag inkomen. Prijzen tot 70 euro per lichtpunt zijn echt geen uitzondering, en deze systemen -zoals marmitek X10- werken ook niet vlekkeloos.

Na zorgvuldig de voors en tegens te hebben afgewogen heb ik wat spullen besteld, waarna ik aan de slag kon met de software. dit leek eerst een ramp te worden, omdat de 'webpagina' de het ding kon sturen niet groter mocht zijn dan ca. 600 bytes... De gebruikte ENC28J60 chip (of driver) ondersteunde namelijk alleen de zogeheten 'single packet' modus!!

Na deze tegenvaller heb ik een webpagina gemaakt die alleen de noodzakelijke data leest, en als ie iets aan of uit moet zetten een kort commando accepteerd. Met deze mini-server ertussen deed ie het ineens wel als verwacht. Op deze manier bleek het al na korte tijd ook mogelijk dit ook vanaf internet te kunnen doen, zonder dat de module rechtstreeks aangesproken word. Zo word uiteindelijk een GSM met internet al vlug een lichtschakelaar met een wel heel groot bereik!

Het systeem dat nu draait, kent 20+ uitgangen en heeft een USB bus voor snel herprogrammeren. Op elke uitgang kan een lichtpunt (tot ca. 5 per stuk) worden aangesloten, maar ook andere opties zijn mogelijk. Zo heb ik zelf enkele lampen, maar ook wat waarschuwingssignalen eraan gekoppeld. Hierbij is het nu zo dat binnen een lamp(je) aan gaat als iemand via http://SimBox.NL een terugbelverzoek of bestand verzend.

Later is aan de basismodule met (15 uitgangen) een uitbreiding toegevoegd die het mogelijk maakt via 2 draden vele poorten aan te sturen via i2c. Deze techniek werkt op een redelijk snel serieel protocol, en bestuurd nu 16 uitgangen. Doordat de chip zich redelijk snel reset, en gevoelig bleek voor storingen is besloten het i2c command elke 100ms te herhalen. Dit kost wat cpu-tijd, maar had ook tot gevolg dat het geheel nu hot-plug-n-play is (kan tijdens gebruik worden aan/afgesloten)
update: 2014-06-29 12:01 tekst aangepast